The development of cheaper, more capable integrated circuits have led to the development of portable computing systems featuring smaller, sleeker designs while retaining relatively sophisticated computing capabilities. These computing systems refer primarily to laptops and netbooks, but also include smart phones, and portable audio devices, portable video devices and portable video game consoles. However, as the recent trend of miniaturizing portable computing systems continues, the space available for hardware for these designs has progressively decreased. As a result, the optimization of hardware design and architecture has become of primary importance.
Typical computing devices include at least a collection of microprocessors or a central processing unit (CPU), some memory, a motherboard (e.g., central printed circuit board) featuring a chipset, and at least one graphics processing unit for generating video output to a display. In some conventional motherboard designs, the chipset is arranged into two separate component hubs, which are commonly referred to as the “northbridge” and “southbridge,” respectively. The northbridge typically handles communications among the CPU, random access memory (RAM), video output interfaces, and the southbridge. In many contemporary netbook and laptop implementations, the video output interface is implemented as an integrated graphics processing unit. The southbridge, on the other hand, is one or more chips that provide a platform to support a plurality of peripheral components, such as input/output devices and mass storage devices. In many implementations, the southbridge may also include integrated peripherals, such as audio controllers, network interface cards, universal serial bus (USB) and PCI-express connections, etc.
Traditionally, netbooks and laptops have used integrated graphics solutions such as integrated graphics processing units (GPUs) coupled to the northbridge. Integrated graphics processing units are graphics processors that utilize a portion of a computer's system memory rather than having its own dedicated memory. In general, integrated GPUs are cheaper to implement than dedicated or “discrete” GPUs, and offer relatively improved battery life and lower power usage, but at the cost of reduced capability and performance levels relative to discrete GPUs. Advantageously, manufacturers of netbooks and laptops have begun to offer configurations with higher graphics processing capabilities by providing computer systems that include additional discrete graphics processing units in addition to the integrated graphics processors.
Discrete or “dedicated” GPUs are distinguishable from integrated GPUs by having higher performance and also having local memory dedicated for use by the GPU that the GPU does not share with the underlying computer system. Commonly, discrete GPUs are implemented on discrete circuit boards called “video cards” which include, among other components, a GPU, the local memory, communication buses and various output terminals. In conventional applications, these video cards typically interface with the main circuit board (e.g., motherboard) of a computing system through a PCI Express (PCI-e) interface, upon which the video card may be mounted. In general, discrete GPUs are capable of significantly higher performance levels relative to integrated GPUs but typically require and consume higher levels of power relative to integrated graphics solutions. Portable computing devices with both integrated and discrete graphics processing solutions often offer a mechanism or procedure that enables the user to alternate usage between the particular solutions so as to manage performance and battery life according to situational needs or desired performance levels.
As mentioned above, in typical netbooks and laptops, the PCI Express interface is a component of the southbridge. However, unlike PCI-e interfaces in other computing systems such as desktops, the PCI-e interface of a portable computing device is often of a reduced size and, consequently, of a reduced capacity. In a typical configuration, the PCI-e interface of any computing device comprises a plurality of links, with each link comprising a further plurality of “lanes,” and being configured to independently couple to a peripheral device. The number of lanes in a link coupled to a peripheral device correlates with the bandwidth of the connection, and thus, couplings between a peripheral device and a link with larger amounts of lanes have greater bandwidth than couplings with links comprised of only single lanes. Traditionally, the number of links in a PCI-e interface of a portable computing device may be configured by the manufacturer in separate configurations to suit specific hardware implementations.
In a popular configuration, the links in PCI-e interface of a portable computing device may be arranged in either of two combinations totaling up to four lanes. For example, implementations can comprise either a single link of four lanes (1×4), thereby offering relatively greater bandwidth for a coupled device. Alternatively, implementations may feature four separate links, with each link capable of being coupled to a separate device but limited to a single lane (4×1) with a correspondingly low bandwidth. Thus, whenever the PCI-e interface is coupled to one device, the single link (1×4) configuration may be optimal, but multiple devices require additional links that adversely impact the amount of bandwidth and throughput of each connection.
Unfortunately, since netbooks and laptops are often intended to be used with network connections, chipset manufacturers of computing devices that will include a discrete GPU will invariably manufacture southbridges (and/or motherboards in general) with PCI-e interfaces having four separate links of one lane each, one of which is occupied by a network controller (e.g., a network interface card). This results in the extremely inefficient configuration wherein one link is coupled to the network controller, another link is coupled to the graphics processing unit, and the other two links remaining unoccupied (or coupled to additional devices). While the bandwidth from a link with only one lane may be sufficient to run certain applications on certain devices, for usage in graphics processing a link having only a single lane is often insufficient and likely to drastically and adversely impact the performance of the discrete graphics processing unit. Moreover, this configuration results not only in substandard performance for discrete graphics processing units, but also commonly results in a waste of the remaining unoccupied links.